package com.cosmoplat.gfqd.processor;

import com.cosmoplat.gfqd.config.BootStrapConfig;
import com.cosmoplat.gfqd.constants.Constants;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
 * 创建gitignore到clone的项目中
 * 用于构建模板项目
 */
public class BatchCreateGitIgnore {


    // 当所有项目克隆完成时调用的方法
    public static void create() {
        // 遍历每个子目录（假设每个子目录是一个项目）
        File[] projects = new File(Constants.PROJECTS_ARCHETYPE_RESOURCES).listFiles();
        if (projects != null) {
            for (File project : projects) {
                if (project.isDirectory()) {
                    createGitIngore(new File(project.getPath()));
                }
            }
        }
    }

    private static void createGitIngore(File projectDirectory) {
        File propertiesFile = new File(projectDirectory, ".gitignore");
        try (FileWriter writer = new FileWriter(propertiesFile)) {
            writer.write("*.iml \n");
            writer.write("target/ \n");
            writer.write(".idea/ \n");
            writer.write("logs/ \n");

            System.out.println("创建了 " + propertiesFile.getPath());
        } catch (IOException e) {
            System.err.println("无法创建文件：" + projectDirectory.getName());
            e.printStackTrace();
        }
    }
}